#!/usr/bin/perl
#programme d'extraction de patron
#sur sortie Cordial
#-------------------------------------------------------
open(FIC,"<:encoding(utf-8)", $ARGV[0]);
my $chaine="";
while (my $ligne=<FIC>) {
 #je veux voir la position et le token (POS ET TOKEN)
 # sous cette forme : POS_FORME
	chomp $ligne; #inutile à priori...
	if (($ligne=~/^([^\t]+)\t[^\t]+\t([^\t]+)$/) and ($ligne!~/PCFORTE/)) {
	my $f=$1;
	#print $f;
	my $c=$2;
	$f=~s/ /#/g;
	#print "Voici la POS :$2 \n";
	#print "Voici le token :$1 \n";
	#print "return pour continuer : ";
	#$continu=<STDIN>;
	$chaine = $chaine.$c."_".$f." ";
	#print "0 : " ,$chaine,"\n";
	#my $a=<STDIN>;
    }
	else  {
		#print "0bis : " ,$chaine,"\n";
		#my $continu=<STDIN>; #ne fonctionne pas à partir d'ici (à part si en commentaire)
		open(TERM,"<:encoding(utf8)",$ARGV[1]);
        while (my $terme=<TERM>) 
		{
			#comment tranformer NOM ADJ
			# en : NOM_([^ ]+) ADJ_([^ ]+)
			#pour ensuite chercher $terme dans $chaine 
			chomp $terme;
			#print "1 : " ,$terme,"\n";
			#$terme=~s/([A-Z]+)/$1_\[\^ \]+/g; #fonctionne avec les patrons normaux (patrons)
			$terme=~s/([^ ]+)/$1_\[\^ \]+/g; #fonctionne avec les patrons à ...(patrons2)
			#print "2 : " ,$terme,"\n";
			#my $a=<STDIN>;
			while($chaine=~/$terme/g) {
				#print"CORRESPONDANCE...\n";
				my $correspondance=$&;
				$correspondance=~s/[A-Z]+_//g;
				$correspondance=~s/#/ /g;
				print $correspondance,"\n";
			}
		}
		close(TERM);
		$chaine ="";
	} 
}
close(FIC);